#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <assert.h>
//int main() {
//    char str[1000];
//    gets(str);
//    int count = 0;
//    for (int i = 0; i < strlen(str); i++) {
//        if (str[i] != ' ' && str[i] != '\n') {
//            count++;
//        }
//    }
//    printf("%d\n", count);
//    return 0;
//}
//{int main()
//{
//	long long int i, n, a, b;
//	int c = 0;
//	scanf("%lld", &n);
//	for (i = 1; i <= n; i++)
//	{
//		if (i % 4 == 0)
//		{
//			continue;
//		}
//		else if (i > 10)
//		{
//			a = i;
//			while (a > 0)
//			{
//				if (a%10 != 4 && a%10 != 8 && (i / 10) % 10 != 4 && (i / 10) % 10 != 8)
//				{
//					c = 1;
//				}
//				else
//				{
//					c = 0;
//					break;
//				}
//				a = a / 10;
//			}
//			/*int t = 6;
//			while (t--)
//			{
//				if (i % 10 != 4 && i % 10 != 8)
//				{
//					c = 1;
//					i = i / 10;
//				}
//				else
//				{
//					c = 0;
//					break;
//				}
//			}*/
//			if (c == 1)
//			{
//				printf("%lld\n", i);
//			}
//			c = 0;
//		}
//		else
//		{
//			printf("%lld\n", i);
//		}
//	}
//	return 0;
//}
//int main()
//{
//	long long int n, a;
//	scanf("%lld", &n);
//	int b = 0;
//	a = n;
//	while(a>9)
//	{
//		if ((n / 10) % 10 != 4 && (n / 10) % 10 != 8 && a % 10 != 4 && a % 10 != 8)
//		{
//			b = 1;
//			continue;
//		}
//		else
//		{
//			b = 0;
//			break;
//		}
//		a = a / 10;
//	}
//	if (b == 1)
//	{
//		printf("%lld", n);
//	}
//	return 0;
//}
//int main()
//{
//	long long int n, m;
//	scanf("%lld", &n);
//	int i, count = 0;
//	if (n > 0)
//	{
//		for (i = 0; i <= 63; i++)
//		{
//			if (((n >> i) & 1) == 1)
//			{
//				count++;
//			}
//		}
//	}
//	else
//	{
//		{
//			for (i = 0; i <= 64; i++)
//			{
//				if (((n >> i) & 1) == 1)
//				{
//					count++;
//				}
//			}
//		}
//	}
//	printf("%d", count);
//	return 0;
//}
//int main()
//{
//	int k, n, i, b, c;
//	scanf("%d %d", &k, &n);
//	long long int a[1000];
//	for (i = 0; i < 1000; i++)
//	{
//		if (i == 0 || i == 1)
//		{
//			a[i] = pow(k, i);
//		}
//
//	}
//	return 0;
//}
int main()
{
	int n, a, b, c, T, i;
	scanf("%d", &n);
	long long int d[70];
	d[0] = 1;
	d[1] = 3;
	d[2] = 4;
	d[3] = 9;
	d[4] = 10;
	d[5] = 12;
	d[6] = 13;
	d[7] = 27;
	d[8] = 28;
	d[9] = 30;
	d[10] = 31;
	d[11] = 36;
	d[12] = 37;
	d[13] = 40;
	d[14] = 81;
	d[15] = 82;
	d[16] = 84;
	d[17] = 85;
	d[18] = 90;
	d[19] = 91;
	d[20] = 93;
	d[21] = 94;
	d[22] = 109;
	d[23] = 110;
	d[24] = 112;
	d[25] = 113;
	d[26] = 118;
	d[27] = 119;
	d[28] = 121;
	d[29] = 122;
	d[30] = 243;
	d[31] = 244;
	d[32] = 246;
	d[33] = 247;
	d[34] = 252;
	d[35] = 253;
	d[36] = 255;
	d[37] = 256;
	d[38]
	d[39]
	d[40]
	d[41]
	d[42]
	d[43]
	d[44]
	d[45]
	d[46]
	d[47]
	d[48]
	d[49]
	d[50]
	d[51]
	d[52]
	d[53]
	d[54]
	d[55]
	d[56]
	d[57]
	d[58]
	d[59]
	d[60]
	d[61]
	d[62]
	d[63]
	d[64]
	d[65]
	d[66]
	d[67]
	d[68]
	d[69]
	return 0;
}